package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 任务执行日志对象 tb_task_detail_logs
 * 
 * @author ruoyi
 * @date 2025-08-12
 */
@Data
@Schema(description = "任务执行日志对象")
public class TbTaskDetailLogs extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    private Long id;

    /** 关联任务ID(对应tb_task.id) */
    @Excel(name = "关联任务ID(对应tb_task.id)")
    private Long taskId;

    /** 关联任务明细ID(对应tb_task_detail.id) */
    @Excel(name = "关联任务明细ID(对应tb_task_detail.id)")
    private Long taskDetailId;

    /** 飞机编号(如B-3891) */
    @Excel(name = "飞机编号(如B-3891)")
    private String airplaneCode;

    /** 设备序列号(如FJ23FDF9134H) */
    @Excel(name = "设备序列号(如FJ23FDF9134H)")
    private String deviceSn;

    /** 推送包类型(1=app 2=data_package) */
    @Excel(name = "推送包类型(1=app 2=data_package)")
    private Integer pushPackageType;

    /** 应用名称(如航空咨询、酷狗音乐) */
    @Excel(name = "应用名称(如航空咨询、酷狗音乐)")
    private String appName;

    /** 数据包名称(飞行地图数据包等) */
    @Excel(name = "数据包名称(飞行地图数据包等)")
    private String packageName;

    /** 版本编号 */
    @Excel(name = "版本编号")
    private String packageVersionnumber;

    /** 开始执行时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "开始执行时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 完成时间 带时分秒 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 执行状态(1=成功 2=失败) */
    @Excel(name = "执行状态(1=成功 2=失败)")
    private Integer status;

    /** 错误信息(如空间不足) */
    @Excel(name = "错误信息(如空间不足)")
    private String errorMessage;

    /** 操作类型(1=安装 2=更新 3=卸载) */
    @Excel(name = "操作类型(1=安装 2=更新 3=卸载)")
    private Integer operationType;


}
